define(function(require, exports, module) {
	
	require("form");
	var validator = require("validator");
	
	module.exports = function() {
		var params = {};
		var node = {};
		return {
			//国际化
			data: {
				title:$.i18n.prop("sys.menu.manager.add.title"),
				name:{
					label:$.i18n.prop("sys.menu.manager.name"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.menu.manager.name")])
				},
				icon:{
					label:$.i18n.prop("sys.menu.manager.icon"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.menu.manager.icon")])
				},
				router:{
					label:$.i18n.prop("sys.menu.manager.router"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.menu.manager.router")])
				},
				i18n:{
					label:$.i18n.prop("sys.menu.manager.i18n"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.menu.manager.i18n")])
				},
				sort:{
					label:$.i18n.prop("sys.sort"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.sort")]),
					value: 1
				},
				button:{
					reset: $.i18n.prop("sys.reset"),
					submit: $.i18n.prop("sys.submit")
				}
			},
			methods: {
				init: function(data) {
					var me = this;
					params = data;
					node = params.node;
					validator.blur($(this.$el).find("form"));
					this.reset();
				},
				reset: function() {
					var formValue = {
						sort:1
					};
					formValue.type = node.id
					if(node.children && node.children.length > 0) {
						formValue.sort = node.children[node.children.length - 1].sort + 1;
					}
					$(this.$el).find("form").get(0).reset();
					$(this.$el).find("form").setFormValue(formValue);
					this.sort.value = formValue.sort;
				},
				submit : function() {
					var me = this;
					var form = $(this.$el).find("form");
					if(form.validate()) {
						this.loading();
						form.ajaxSubmit(function(data) {
							me.loading("close");
							if(data.success) {
								params.addNodes(node, [data.message]);
								me.closeWindow();
							}
						});
					}
				},
				destroy: function() {
					
				}
			}
		}
	}
});